package com.hwadee.property.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hwadee.property.pojo.Notice;
import com.hwadee.property.dto.PageResult;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 通知服务接口
 */
public interface INoticeService extends IService<Notice> {
    PageResult<Notice> getPage(int current, int size, Long communityId, String title);

    /**
     * 根据物业ID查询通知列表
     * @param propertyStaffId 物业ID
     * @return 通知列表
     */
    List<Notice> listByPropertyStaffId(Long propertyStaffId);

    /**
     * 发布通知
     * @param notice 通知对象
     * @return 是否成功
     */
    boolean publishNotice(Notice notice);

    /**
     * 更新通知
     * @param noticeID 通知 ID
     * @param title 通知标题
     * @param content 通知内容
     * @param remark 备注
     * @param attachment 附件
     * @return 更新结果
     */
    boolean updateNotice(Long noticeID, String title, String content, String remark, MultipartFile attachment);

    /**
     * 删除通知
     * @param id 通知ID
     * @return 是否成功
     */
    boolean deleteNotice(Long id);

    PageResult<Notice> listByOwnerId(int current, int size, String title, Long userId);

    List<Notice> listByCommunityId(Long communityId);
}
